﻿#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
//int main()
//{
//	int a = 0x11223344;
//	return 0;
//}

//验证大小端
//int Check_System()
//{
//	int a = 1;				//0x00000001
//	char* p = (char*)&a;	//只需要取出一个字节的内容，定义char*
//	return *p;				//*p等于1说明低地址的字节为a的地位，为小端存储
//}
//int main()
//{
//
//	int ret = Check_System();
//	if (ret == 1)
//	{
//		printf("小端存储\n");
//	}
//	else printf("大端存储\n");
//}

//int main()
//{
//	char a = 129;	//char默认为signed char 范围为-128-127
//	printf("%d\n", a);//a存储的数据大于MAX，会发生截断，最终存储的数据是129-1-127+（-128）
//	return 0;
//}

//int main()
//{
//	char a = -130;	//char默认为signed char 范围为-128-127
//	printf("%d\n", a);//a存储的数据小于MIN，会发生截断，最终存储的数据是127-（-128-（-130）-1）
//	return 0;
//}

//int main()
//{
//	unsigned char a = 257;	//unsigned char的范围是0-255
//	printf("%d\n", a);	//a存储的数据大于MAX，最后的结果是0+(257-255-1)
//}

//int main()
//{
//	unsigned char a = -2;	//unsigned char的范围是0-255
//	printf("%d\n", a);	//a存储的数据小于MIN，最后的结果是255-(0-(-2)-1)
//}

//#include <float.h>
//#include <limits.h>

//输出什么？
//#include <stdio.h>
//int main()
//{
//	char a = -1;
//	signed char b = -1;
//	unsigned char c = -1;
//	printf("a=%d,b=%d,c=%d", a, b, c);
//	return 0;
//}

//2.
//#include <stdio.h>
//int main()
//{
//	char a = -128;
//	printf("%u\n", a);
//	return 0;
//}

//3.
//#include <stdio.h>
//int main()
//{
//	char a = 128;
//	printf("%u\n", a);
//	return 0;
//}

//4.
//#include <stdio.h>
//int main()
//{
//	int i = -20;
//	unsigned int j = 10;
//	printf("%d\n", i + j);
//	//按照补码的形式进行运算，最后格式化成为有符号整数
//}

//5.
//#include <stdio.h>
//#include <windows.h>
//int main()
//{
//	unsigned int i;
//	for (i = 9; i >= 0; i--) {
//		printf("%u\n", i);
//		Sleep(50);
//	}
//}

//6.
//int main()
//{
//	char a[1000];
//	int i;
//	for (i = 0; i < 1000; i++)
//	{
//		a[i] = -1 - i;
//	}
//	printf("%d", strlen(a));
//	return 0;
//}

//7.
//#include <stdio.h>
//unsigned char i = 0;
//int main()
//{
//	for (i = 0; i <= 255; i++)
//	{
//		printf("hello world\n");
//	}
//	return 0;
//}
//int main()
//{
//	char arr[] = "abcd";
//	printf("%p\n", arr);
//	printf("%p\n", "abcd");
//
//	return 0;
//}

////验证指针数组名是数组指针
//#include <stdio.h>
//int main()
//{
//	int arr1[] = { 1,2,3 };
//	int arr2[] = { 3,4,5 };
//	int arr3[] = { 4,5,6 };
//	int* arr[3] = { arr1, arr2, arr3 };
//	printf("%p\n", arr);
//	printf("%p\n", &arr1);
//	printf("%p\n", arr1);
//	printf("%p\n", arr + 1);
//	
//	return 0;
//}